package common

type Putter interface {
	Put(v string)
}

type Sizer interface {
	Size() int
}

type Filter interface {
	Putter
	Keys() []string
	Contains(string) bool
	Size() int
}

type Sorter interface {
	Putter
	GetN(i int) string
	Size() int
}

type Mapper interface {
	Putter
	Contains(string) bool
	Get(key string) (mapped_value string)
	Size() int
}

func IsEmpty(s Sizer) bool {
	if s == nil {
		return true
	}

	if s.Size() == 0 {
		return true
	}
	return false

}
